home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #2 / Amiga Plus CD - 2004 - No. 02.iso / AmigaPlus / Tools / Development / AmigaTalk / user / Complex.p next >
Text File  |  2004-01-31  |  7KB  |  165 lines

  1. pTempVar <- <primitive 110 25 >
  2. <primitive 112 pTempVar 1  " ~= " \
  3.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  4.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  5.         16r80 16r01 16r22 16r80 16r01 16rCA 16r20 16r80 16r02 16r22 \
  6.         16r80 16r02 16rCA 16r81 16r03 16rF7 16r04 16r5B 16rF3 16rF8 \
  7.         16r03 16rF2 16r5C 16rF3 16rF2 16rF5] \
  8.     #( #isKindOf: #realpart #imagpart #&  )) >
  9.  
  10. <primitive 112 pTempVar 2  " >= " \
  11.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  12.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  13.         16r80 16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 \
  14.         16r22 16r80 16r02 16rCB 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  15.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  16.     #( #isKindOf: #computeMag #magpart  )) >
  17.  
  18. <primitive 112 pTempVar 3  " <= " \
  19.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  20.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  21.         16r80 16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 \
  22.         16r22 16r80 16r02 16rC8 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  23.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  24.     #( #isKindOf: #computeMag #magpart  )) >
  25.  
  26. <primitive 112 pTempVar 4  " > " \
  27.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  28.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  29.         16r80 16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 \
  30.         16r22 16r80 16r02 16rCC 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  31.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  32.     #( #isKindOf: #computeMag #magpart  )) >
  33.  
  34. <primitive 112 pTempVar 5  " < " \
  35.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  36.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  37.         16r80 16r01 16rF2 16r22 16r80 16r01 16rF2 16r20 16r80 16r02 \
  38.         16r22 16r80 16r02 16rC7 16rF7 16r04 16r5B 16rF3 16rF8 16r03 \
  39.         16rF2 16r5C 16rF3 16rF2 16rF5] \
  40.     #( #isKindOf: #computeMag #magpart  )) >
  41.  
  42. <primitive 112 pTempVar 6  " == " \
  43.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  44.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  45.         16r80 16r01 16r22 16r80 16r01 16rC9 16r20 16r80 16r02 16r22 \
  46.         16r80 16r02 16rC9 16r81 16r03 16rF7 16r04 16r5B 16rF3 16rF8 \
  47.         16r03 16rF2 16r5C 16rF3 16rF2 16rF5] \
  48.     #( #isKindOf: #realpart #imagpart #&  )) >
  49.  
  50. <primitive 112 pTempVar 7  " computeMagPhase " \
  51.   #( #[ 16r20 16r80 16r00 16rF2 16r20 16r80 16r01 16r32 16rB6 16rF7 16r04 \
  52.         16r33 16rFA 16r01 16r7B 16rF2 16r20 16r80 16r04 16r20 16r80 \
  53.         16r01 16rBF 16r80 16r05 16r63 16rF5] \
  54.     #( #computeMag #imagpart 0.0 'Division by Complex zero!' #realpart \
  55.         #arcTan  )) >
  56.  
  57. <primitive 112 pTempVar 8  " computeMag " \
  58.   #( #[ 16r20 16r80 16r00 16r20 16r80 16r00 16rC2 16r20 16r80 16r01 16r20 \
  59.         16r80 16r01 16rC2 16r81 16r02 16rFA 16r01 16r47 16r62 16rF5 \
  60.        ] \
  61.     #( #realpart #imagpart #\+  )) >
  62.  
  63. <primitive 112 pTempVar 9  " printString " \
  64.   #( #[ 16r30 16r10 16rFA 16r01 16r4E 16r0B 16r12 16r31 16r0B 16r12 16r11 \
  65.         16rFA 16r01 16r4E 16r0B 16r12 16r32 16r0B 16r12 16rA8 16rF2 \
  66.         16rF5] \
  67.     #( '{' ', ' '}'  )) >
  68.  
  69. <primitive 112 pTempVar 10  " / " \
  70.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  71.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r22 \
  72.         16r80 16r01 16r32 16rB6 16r22 16r80 16r03 16r34 16rB6 16r81 \
  73.         16r05 16rF7 16r07 16r36 16rFA 16r01 16r7B 16rF2 16r5D 16rF3 \
  74.         16rF2 16r22 16r80 16r01 16r22 16r80 16r01 16rC2 16r22 16r80 \
  75.         16r03 16r22 16r80 16r03 16rC2 16rC0 16r73 16r22 16r80 16r01 \
  76.         16r20 16r80 16r01 16rC2 16r22 16r80 16r03 16r20 16r80 16r03 \
  77.         16rC2 16rC0 16r74 16r20 16r80 16r03 16r22 16r80 16r01 16rC2 \
  78.         16r20 16r80 16r01 16r22 16r80 16r03 16rC2 16rC1 16r75 16r24 \
  79.         16r23 16rBF 16r60 16r25 16r23 16rBF 16r61 16r20 16rF3 16rF5 \
  80.        ] \
  81.     #( #isKindOf: #realpart 0.0 #imagpart 0.0 #& 'Division by Complex zero!'  )) >
  82.  
  83. <primitive 112 pTempVar 11  " * " \
  84.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  85.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  86.         16r80 16r01 16r22 16r80 16r01 16rC2 16r20 16r80 16r02 16r22 \
  87.         16r80 16r02 16rC2 16rC1 16r60 16r20 16r80 16r02 16r22 16r80 \
  88.         16r01 16rC2 16r20 16r80 16r01 16r22 16r80 16r02 16rC2 16rC0 \
  89.         16r61 16r20 16rF3 16rF5] \
  90.     #( #isKindOf: #realpart #imagpart  )) >
  91.  
  92. <primitive 112 pTempVar 12  " - " \
  93.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  94.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r20 \
  95.         16r80 16r01 16r22 16r80 16r01 16rC1 16r60 16r20 16r80 16r02 \
  96.         16r22 16r80 16r02 16rC1 16r61 16r20 16rF3 16rF5] \
  97.     #( #isKindOf: #realpart #imagpart  )) >
  98.  
  99. <primitive 112 pTempVar 13  " + " \
  100.   #( #[ 16r21 16r20 16rA4 16r81 16r00 16rF6 16r08 16r20 16r21 16r0B 16r10 \
  101.         16rF1 16r72 16rF8 16r04 16rF2 16r21 16rF1 16r72 16rF2 16r22 \
  102.         16r80 16r01 16r20 16r80 16r01 16rC0 16r60 16r22 16r80 16r02 \
  103.         16r20 16r80 16r02 16rC0 16r61 16r20 16rF3 16rF5] \
  104.     #( #isKindOf: #realpart #imagpart  )) >
  105.  
  106. <primitive 112 pTempVar 14  " ~^ " \
  107.   #( #[ 16r20 16rF2 16rF5] \
  108.     #(  )) >
  109.  
  110. <primitive 112 pTempVar 15  " conjugate " \
  111.   #( #[ 16r30 16r11 16rC2 16r61 16rF5] \
  112.     #( -1.0  )) >
  113.  
  114. <primitive 112 pTempVar 16  " coerce: " \
  115.   #( #[ 16r05 16r27 16rA0 16r72 16r22 16r21 16r81 16r00 16rF2 16r22 16r31 \
  116.         16r81 16r02 16rF2 16r22 16rF3 16rF5] \
  117.     #( #realpart: 0.0 #imagpart:  )) >
  118.  
  119. <primitive 112 pTempVar 17  " phasepart: " \
  120.   #( #[ 16r21 16r63 16rF5] \
  121.     #(  )) >
  122.  
  123. <primitive 112 pTempVar 18  " magpart: " \
  124.   #( #[ 16r21 16r62 16rF5] \
  125.     #(  )) >
  126.  
  127. <primitive 112 pTempVar 19  " imagpart: " \
  128.   #( #[ 16r21 16r61 16rF5] \
  129.     #(  )) >
  130.  
  131. <primitive 112 pTempVar 20  " realpart: " \
  132.   #( #[ 16r21 16r60 16rF5] \
  133.     #(  )) >
  134.  
  135. <primitive 112 pTempVar 21  " phasepart " \
  136.   #( #[ 16r13 16rF3 16rF5] \
  137.     #(  )) >
  138.  
  139. <primitive 112 pTempVar 22  " magpart " \
  140.   #( #[ 16r12 16rF3 16rF5] \
  141.     #(  )) >
  142.  
  143. <primitive 112 pTempVar 23  " imagpart " \
  144.   #( #[ 16r11 16rF3 16rF5] \
  145.     #(  )) >
  146.  
  147. <primitive 112 pTempVar 24  " realpart " \
  148.   #( #[ 16r10 16rF3 16rF5] \
  149.     #(  )) >
  150.  
  151. <primitive 112 pTempVar 25  " new " \
  152.   #( #[ 16r05 16r2B 16r30 16rB0 16r60 16r05 16r2B 16r31 16rB0 16r61 16r05 \
  153.         16r2B 16r32 16rB0 16r62 16r05 16r2B 16r33 16rB0 16r63 16rF5 \
  154.        ] \
  155.     #( 0.0 0.0 0.0 0.0  )) >
  156.  
  157. <primitive 98 #Complex \
  158.   <primitive 97 #Complex #Magnitude #User/complex.st \
  159.    #(  #real #imag #mag #phase ) \
  160.    #( #~= #>= #<= #> #< #== #computeMagPhase #computeMag #printString #/ #*  \
  161.        #- #+ #~^ #conjugate #coerce: #phasepart: #magpart: #imagpart: #realpart:  \
  162.        #phasepart #magpart #imagpart #realpart #new  ) \
  163.   pTempVar 6 18 > #ordinary >
  164.  
  165.